minios: Fix lost events
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 18 Mar 2008 11:29:18 +0000 (11:29 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 18 Mar 2008 11:29:18 +0000 (11:29 +0000)
commitb9d1950675c67f10870debe164a226eef64f65d5
treeacd93ea007ed7289d7bacc728997d698e050c276
parent62341d01ee88ecc87d6995000383446e3bf43ec7
minios: Fix lost events

evtchn_bind_interdomain used to clear any already pending event before
binding a handler, because else the handler may be called before it is
ready. That however leads to missed events, which I had to workaround
for the HVM case.

This changes the semantics of bind_evtchn, and thus of all the
event channel binding functions (bind_virq, evtchn_alloc_unbound,
evtchn_bind_interdomain) into not unmasking the event itself, hence
letting the caller initialize properly before unmasking the port (e.g.
record the port number in an appropriate place).

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
extras/mini-os/arch/ia64/time.c
extras/mini-os/arch/x86/time.c
extras/mini-os/blkfront.c
extras/mini-os/console/xencons_ring.c
extras/mini-os/events.c
extras/mini-os/fbfront.c
extras/mini-os/fs-front.c
extras/mini-os/netfront.c
extras/mini-os/xenbus/xenbus.c
tools/libxc/xc_minios.c